快速开始
本文档的目标是帮助用户在自己的开发环境中快速开始使用bosun,跟随本文档,用户将会获得一个完整操作性的bosun系统,本系统不仅能够从制定的机器上聚合采集的指标,还能够根据相关指标进行报警。我们将会使用OpenTSDB,针对一些Graphite的指标,请参看graphite章节。
Bosun
本指南基于使用我们提供的的docker镜像。在Stack Exchange我们并没有在生产环境中使用Docker。对于那些并不希望使用docker的用户,我们在bosun.org上提供bosun的二进制包。用户需要自行安装OpenTSDB和HBase(如果用户需要自行安装OpenTSDB,我们推荐使用较新的版本,这样才能通过scollector来支持GZIP连接),对于Hbase我们推荐使用CDH来构建集群。
Docker
安装Docker
如果用户在自己的环境中并未安装docker,你可以根据docker官网的操作指南来安装。
注意: 在进行下面的步骤前必须确保docker的守护进程运行。
安装bosun
当用户安装完Docker之后,需要从docker仓库中下载最新版本的bosun,操作指令如下:
$ docker run -d -p 4242:4242 -p 8070:8070 stackexchange/bosun
上面这条指令告诉docker的主进程要启动一个新的bosun守护进程实例,同时转发服务器8070端口到docker容器中。大约15秒以后,就拥有了一个工作在8070端口的bosun实例。此时能够通过浏览器访问http://docker-server-ip:8070
操控这个bosun实例,docker-server-ip是你运行docker守护进程的宿主机IP。
Bosun获取数据
Bosun的docker镜像提供了一定数量的数据,如果想知道更多关于获取数据的信息,请参看后续关于scollector的章节,但是现在可以跳过这些。
Bosun检查数据
一旦scollector开始运行,假设scollector与bosun服务能够不受防火墙影响的通过8070端口建立连接,bosun服务就能够获得运行scollector的系统的监控数据。我们能够通过网页http://docker-server-ip:8070/items
来检查收集到的数据,如果看到一系列的metrics,那么整个系统的收集数据功能已经正常。在网站的底部(如果浏览器足够宽就会在网站并行的列上)可以看到发送数据的服务器列表信息。如果点击服务器名,然后再点击Available Metrics按钮,能够看到不同类型的监控数据,这里有一系列的变量,在我们的指南中我们将使用其中的一小部分。
创建预警
只有系统的监控数据并不足以构建一个有用的监控系统,必须在异常状况发生的时候及时的预警,这才是bosun的核心功能。
bosun提供一套特别的工作流来设计、测试、部署预警项目,bosun网页的顶部从左到右包含了Items、Graph、Expression、Rule、Test等标签,这些标签的顺序代表了创建一个预警的步骤。一般来说,一个预警的基础在于选取一个item,然后用Graph来展示item的行为特征,再将Graph转换成一条Expression,接着将Expression转成一条Rule,在将这条Rule合并到Bosun系统中之前需要进行测试。
让我们来完成一个案例,以此理解bosun的工作机理。在我们的案例中,我们将设置一个在cpu过高情况下进行通知的预警,在我们的例子中我们使用的metric只有os.cpu
,我们创建预警的触发条件是指定的服务器cpu过高达到一个小时。
打开网站http://docker-server-ip:8070
来开始我们的案例。
1、Items
点击Items标签,你可以看到当前存储的一系列metrics,点击os.cpu
标签就能够进入到该指标一段时间内的展示图标。